DSP算子C接口命名规范

DSP算子C接口命名规范是为了提高代码的可读性和可维护性,确保所有DSP算子的函数名称都遵循一定的规则和格式。以下是具体的命名规范:

1. 基本原则

  • 清晰明了:函数名应清晰地反映其功能或用途。

  • 一致性:所有函数名应遵循相同的命名规则,以保持代码的一致性。

  • 简洁:避免冗长的命名,但同时要确保足够的信息量。

  • 蛇形命名:使用小写字母和下划线(_)分隔单词,例如 xxx_xxx_xxx

  • 数据类型开头:函数名算子的数据类型开始,描述该算子是什么数据类型的算子,以第一个输入数据类型确定算子的数据类型算子;例如 fp_xxx_xxxdp_xxx_xxx 等。各个数据类型算子命名规则如下:

    • hp:半精度浮点数算子(float16)

    • fp:浮点数算子(float32)

    • dp:双精度浮点数算子(float64)

    • i32:32位整数算子(int32)

    • i16:16位整数算子(int16)

    • i8:8位整数算子(int8)

    • c64:64位复数算子(complex64)

    • c128:128位复数算子(complex128)

  • 算子名字在中间:函数名算子的名字在中间,描述该算子是什么功能的。例如 xxx_add_xxxxxx_mul_xxx 等。

  • 存储空间类型结尾:函数名算子的存储空间类型结尾,描述该算子是在共享或者私有存储空间上操作的;其中_s 结尾是共享存储版本,_p 结尾是私有存储版本;例如 xxx_xxx_sxxx_xxx_p 等。

2. 具体命名示例

2.1 加法算子

  • 共享存储

    • fp_add_s - 表示这是一个在浮点数上操作的加法算子的共享存储版本。

    • hp_add_s - 表示这是一个在半精度浮点数上操作的加法算子的共享存储版本。

    • dp_add_s - 表示这是一个在双精度浮点数上操作的加法算子的共享存储版本。

    • i16_add_s - 表示这是一个在16位整数上操作的加法算子的共享存储版本。

    • i32_add_s - 表示这是一个在32位整数上操作的加法算子的共享存储版本。

    • i8_add_s - 表示这是一个在8位整数上操作的加法算子的共享存储版本。

    • c64_add_s - 表示这是一个在复数(64位)上操作的加法算子的共享存储版本。

    • c128_add_s - 表示这是一个在复数(128位)上操作的加法算子的共享存储版本。

  • 私有存储

    • fp_add_p - 表示这是一个在浮点数上操作的加法算子的私有存储版本。

    • hp_add_p - 表示这是一个在半精度浮点数上操作的加法算子的私有存储版本。

    • dp_add_p - 表示这是一个在双精度浮点数上操作的加法算子的私有存储版本。

    • i16_add_p - 表示这是一个在16位整数上操作的加法算子的私有存储版本。

    • i32_add_p - 表示这是一个在32位整数上操作的加法算子的私有存储版本。

    • i8_add_p - 表示这是一个在8位整数上操作的加法算子的私有存储版本。

    • c64_add_p - 表示这是一个在复数(64位)上操作的加法算子的私有存储版本。

    • c128_add_p - 表示这是一个在复数(128位)上操作的加法算子的私有存储版本。

3. 其他注意事项

备注

对于复合操作,如同时涉及多功能的算子,可以在函数名中适当增加描述性词汇,例如 xxx_add_sub_xxx 可以表示一个先加后减的算子。